/**
 * 加减法口算练习系统 - 版本1.0
 * 使用算式类(Calculation)和习题类(Exercise)构建的完整练习系统
 */
public class CalculationSystemV10 {
    
    /**
     * 主方法 - 程序入口
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        System.out.println("===============================");
        System.out.println("     加减法口算练习系统 - v1.0");
        System.out.println("===============================");
        
        // 创建50道练习题
        int exerciseCount = 50;
        Exercise exercise = new Exercise(exerciseCount);
        
        System.out.println("\n已生成" + exerciseCount + "道100以内的加减法习题：");
        System.out.println("==================================");
        
        // 打印所有习题
        exercise.printExercises();
        
        System.out.println("\n==================================");
        System.out.println("练习提示：");
        System.out.println("1. 请在纸上完成所有题目");
        System.out.println("2. 答案应在100以内");
        System.out.println("3. 减法题答案不为负数");
        System.out.println("==================================");
        
        // 演示部分功能（在实际应用中，这里会有交互式答题功能）
        System.out.println("\n[系统演示]：下面是前5道题的正确答案：");
        for (int i = 0; i < Math.min(5, exerciseCount); i++) {
            Calculation calc = exercise.getCalculation(i);
            System.out.println((i + 1) + ". " + calc.getFullExpression());
        }
        
        // 模拟用户答题（演示功能）
        System.out.println("\n[系统演示]：模拟答题过程...");
        int correctAnswers = 0;
        for (int i = 0; i < exerciseCount; i++) {
            Calculation calc = exercise.getCalculation(i);
            // 模拟80%的正确率
            int answer = Math.random() < 0.8 ? calc.getResult() : calc.getResult() + 1;
            boolean isCorrect = exercise.answerQuestion(i, answer);
            if (isCorrect) {
                correctAnswers++;
            }
        }
        
        // 显示练习结果
        exercise.printResult();
        
        System.out.println("\n==================================");
        System.out.println("          练习结束！");
        System.out.println("==================================");
    }
}